package com.kingyun.gpsinspection.purificationservice.dao.mapper.jsm;


import com.kingyun.gpsinspection.purificationservice.facade.model.jsm.AccountRole;

import java.util.List;
import java.util.Map;

/**
 * 账号角色Mapper
 */
public interface AccountRoleMapper {
    /**
     * 根据账号角色唯一标识-删除
     *
     * @param accountRoleId
     * @return
     */
    int deleteByPrimaryKey(String accountRoleId);

    /**
     * 根据账号角色-新增
     *
     * @param record
     * @return
     */
    int insert(AccountRole record);

    /**
     * 根据账号角色-新增
     *
     * @param record
     * @return
     */
    int insertSelective(AccountRole record);

    /**
     * 根据账号角色-查询
     *
     * @param accountRoleId
     * @return
     */
    AccountRole selectByPrimaryKey(String accountRoleId);

    /**
     * 根据账号角色-查询列表
     *
     * @param selectMap
     * @return
     */
    List<AccountRole> selectAccountRole(Map selectMap);

    /**
     * 查询当个人员绑定角色信息
     *
     * @param record
     */
    AccountRole selectByAccountRole(AccountRole record);

    /**
     * 根据账号角色-查询修改
     *
     * @param record
     * @return
     */
    int updateByPrimaryKeySelective(AccountRole record);

    /**
     * 根据账号角色-查询修改
     *
     * @param record
     * @return
     */
    int updateByPrimaryKey(AccountRole record);

    /**
     * 根据operatorId和roleId逻辑删除
     *
     * @param delMap
     * @return
     */
    int deleteByRAndAccountId(Map delMap);

    /**
     * @param list
     * @Author 卢曼成
     * @Description 批量添加
     * @Date 2017/2/8 17:17
     */
    int insertList(List<AccountRole> list);

    /**
     * @param list
     * @Author 卢曼成
     * @Description 批量修改
     * @Date 2017/2/8 17:17
     */
    int updateList(List<AccountRole> list);

    /**
     * @param list
     * @Author 卢曼成
     * @Description 批量逻辑删除
     * @Date 2017/2/8 17:17
     */
    int deleteList(List<AccountRole> list);

    /**
     * @param list
     * @Author 卢曼成
     * @Description 根据条件查询ID集合
     * @Date 2017/2/8 17:17
     */
    List<String> selectByListId(List<AccountRole> list);


    /**
     * 根据角色找到相应的用户ID集合
     * @param roleId 角色ID
     * @return
     */
    List<String> getEmployeeIdsByRoleId(String roleId);


    /**
     * 根据角色找到相应的用户ID集合
     * @param roleIds 角色ID集合
     * @return
     */
    List<String> getEmployeeIdsByRoleIds(List<String> roleIds);
}